home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
QRZ! Ham Radio 3
/
QRZ Ham Radio Callsign Database - Volume 3.iso
/
digests
/
tcp
/
930236.txt
< prev
next >
Wrap
Internet Message Format
|
1994-06-04
|
4KB
Date: Mon, 13 Sep 93 04:30:09 PDT
From: Advanced Amateur Radio Networking Group <tcp-group@ucsd.edu>
Errors-To: TCP-Group-Errors@UCSD.Edu
Reply-To: TCP-Group@UCSD.Edu
Precedence: Bulk
Subject: TCP-Group Digest V93 #236
To: tcp-group-digest
TCP-Group Digest Mon, 13 Sep 93 Volume 93 : Issue 236
Today's Topics:
backoff bugs
ip hosts ww
Send Replies or notes for publication to: <TCP-Group@UCSD.Edu>.
Subscription requests to <TCP-Group-REQUEST@UCSD.Edu>.
Problems you can't solve otherwise to brian@ucsd.edu.
Archives of past issues of the TCP-Group Digest are available
(by FTP only) from UCSD.Edu in directory "mailarchives".
We trust that readers are intelligent enough to realize that all text
herein consists of personal comments and does not represent the official
policies or positions of any party. Your mileage may vary. So there.
----------------------------------------------------------------------
Date: Sun, 12 Sep 93 15:29:53 EDT
From: "William Allen Simpson" <bill.simpson@um.cc.umich.edu>
Subject: backoff bugs
To: karn@qualcomm.com (Phil Karn)
Found a bug today in the rto backoff code. It takes a lot of retries, but
that's what I often get.
In tcptimer.c, the backoff function simply shifts 1L n bits. It checks
that the number of bits is <= 31, but that's all.
The backoff function is only called in one place, in tcpout.c, where
it is immediately multiplied by 4 * mdev + srtt.
When the backoff reaches about 15-20, the rto overflows, and we get
continuous sending, with a rto of 500 milliseconds!
Anyway, I think that the equation is wrong, and we need more checking
here. It didn't help for debugging that the backoff function and its
use were in different files. I suggest:
In tcp.h:
#define DEF_RTT 5000 /* Initial guess at round trip time (5 sec) */
#define MSL2 30 /* Guess at two maximum-segment lifetimes */
#define MAX_RTO 120000L /* Maximum timeout, milliseconds */
#define MIN_RTO 500L /* Minimum timeout, milliseconds */
In tcpuser.c:
/* Kick a particular TCP connection */
int
kick_tcp(tcb)
register struct tcb *tcb;
{
if(!tcpval(tcb))
return -1;
tcb->flags.force = 1; /* Send ACK even if no data */
tcb->backoff = 0; /* Try again harder */
tcp_timeout(tcb);
return 0;
}
In tcpout.c:
if(ssize != 0){
int32 n = tcb->backoff;
/* Backoff function - the subject of much research */
if(n > 31)
n = 31; /* Prevent truncation to zero */
n = 1L << n; /* Binary exponential back off */
if ( n > MAX_RTO ) {
rto = MAX_RTO;
} else {
rto = (n * tcb->srtt) + (4 * tcb->mdev);
}
/* Set round trip timer. */
set_timer(&tcb->timer,max(MIN_RTO,rto));
if(!run_timer(&tcb->timer))
start_timer(&tcb->timer);
Bill.Simpson@um.cc.umich.edu
------------------------------
Date: Sun, 12 Sep 93 18:16:42 CET
From: BARRY TITMARSH <BTITMARS%ESOC.BITNET@vm.gmd.de>
Subject: ip hosts ww
To: TCP-GROUP <TCP-GROUP@ucsd.edu>
Just been updateing my own personal ip's at the ww database on ucsd.edu
i have noticed many entries Duplicated.
many entries with .ampr.org
i have read the instructions on how to use the robot server to update
the hosts><ipaddr
seems many of us have not read the instructions.
My thanks to brian@ucsd.edu for mailing them to me again..
re my last post.. i did do it all correct but got the userid wrong
its ampraddr@ucsd.edu and not ampr-addr@... etc etc as i did hi hi..
thanks to all who pointed it out.
Barry.
My gate is up and running again.
g8sau/dc0hk at various ip's
------------------------------
End of TCP-Group Digest V93 #236
******************************
******************************